package model;
/**
 * Clase Suscripcion
 * @author Grupo-03
 * @version 0.1, 08/04/14 
 *
 */
import java.util.Date;

public class Suscripcion {
	
	private long id;
	private Date fecha;
	private Categoria categoria;
	
	// Constructor
	public Suscripcion(){
	}
	
	public Suscripcion(Date fecha){
		this.fecha = fecha;
		this.categoria = new CategoriaInvitado();
	}
	
	public Date getFecha(){
		return this.fecha;
	}
	
	public void setFecha(Date fecha){
		this.fecha = fecha;
	}
	
	public void setCategoria(Categoria cat){
		this.categoria = cat;
	}
	
	public Categoria getCategoria(){
		return this.categoria;
	}
	
	// Other Methods
	public void pasarANormal(){
		// Pasa a categoria de suscripcion normal
		this.categoria = new Categoria();
	}
	
	public void pasarAVIP(){
		// Pasa a categoria de suscripcion VIP
		this.categoria = new CategoriaVIP();
	}
	
	public int limiteDeReproducciones(){
		/**
		 * @return retorna la cantidad de reproducciones que permite la suscripcion actual
		 */
		return this.categoria.limiteDeReproducciones();
	}
	
	public void setLimiteDeReproducciones(int valor){
		categoria.setLimiteReproducciones(valor);
	}

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}
}
